An existing operating system includes a reliability and quality monitoring system which targets host software components. The reliability and quality monitoring system performs business intelligence collection, analysis and servicing of software components (via, for example, software patching).
Various devices such as, for example, data storage devices, including but not limited to hard disk drives, optical disk drives, and solid state devices (SSDs) have become sophisticated systems that include multiple chips and execute complex embedded firmware, which may include hundreds and thousands of lines of code. The data storage devices may have complex states and are subject to various error and failure conditions such as, for example, vibrations and shocks with respect to hard disk drives, as well as other error and failure conditions, which in many cases may be caused by serviceable faults in the embedded software.
Typically, internal disk diagnostic software is extremely complex. When a data storage device experiences a failure condition, existing host systems do not collect data regarding operation of the embedded firmware from the data storage device. Diagnostic results may be kept in internal logs of a data storage device and may record details of impactful events. For most common devices diagnostic software may be driven directly by the operating system. The diagnostic results may not be provided to a vendor, with the exception of a problem data storage device under warranty which is returned to the vendor.